Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dynamic alignment computation for SIMD error functions #90

Closed
wants to merge 1 commit into from

Conversation

jeongseok-meta
Copy link
Contributor

Summary:
Previously, a static alignment value of 32 was used for AVX in SIMD implementations. This diff modifies this approach to dynamically determine the correct alignment value via Enoki at compile-time, ensuring compatibility across different SIMD instruction sets.

NOTE: This Diff the second trial of D47103616

Differential Revision: D63658278

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Meta Open Source bot. label Oct 1, 2024
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D63658278

@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D63658278

@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D63658278

jeongseok-meta added a commit that referenced this pull request Oct 1, 2024
Summary:
Pull Request resolved: #90

Previously, a static alignment value of 32 was used for AVX in SIMD implementations. This diff modifies this approach to dynamically determine the correct alignment value via DrJit at compile-time, ensuring compatibility across different SIMD instruction sets.

Detailed changes:

- Add constants for packet sizes and alignment sizes for both DrJit and AVX versions, rather than using magic numbers
- Centralize `checkAlignment()`
- Fix `getJacobianSize()` for both DrJit and AVX versions, correctly utilizing the package size
- Update tests to check around the number of constraints around the package size to ensure the new `getJacobianSize()` works
- Update GitHub CI to test both SIMD-enabled and disabled

NOTE: This Diff the second trial of D47103616

Differential Revision: D63658278
facebook-github-bot pushed a commit that referenced this pull request Oct 1, 2024
Summary:

Previously, a static alignment value of 32 was used for AVX in SIMD implementations. This diff modifies this approach to dynamically determine the correct alignment value via DrJit at compile-time, ensuring compatibility across different SIMD instruction sets.

Detailed changes:

- Add constants for packet sizes and alignment sizes for both DrJit and AVX versions, rather than using magic numbers
- Centralize `checkAlignment()`
- Fix `getJacobianSize()` for both DrJit and AVX versions, correctly utilizing the package size
- Update tests to check around the number of constraints around the package size to ensure the new `getJacobianSize()` works
- Update GitHub CI to test both SIMD-enabled and disabled

NOTE: This Diff the second trial of D47103616

Differential Revision: D63658278
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D63658278

facebook-github-bot pushed a commit that referenced this pull request Oct 1, 2024
Summary:

Previously, a static alignment value of 32 was used for AVX in SIMD implementations. This diff modifies this approach to dynamically determine the correct alignment value via DrJit at compile-time, ensuring compatibility across different SIMD instruction sets.

Detailed changes:

- Add constants for packet sizes and alignment sizes for both DrJit and AVX versions, rather than using magic numbers
- Centralize `checkAlignment()`
- Fix `getJacobianSize()` for both DrJit and AVX versions, correctly utilizing the package size
- Update tests to check around the number of constraints around the package size to ensure the new `getJacobianSize()` works
- Update GitHub CI to test both SIMD-enabled and disabled

NOTE: This Diff the second trial of D47103616

Differential Revision: D63658278
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D63658278

facebook-github-bot pushed a commit that referenced this pull request Oct 1, 2024
Summary:

Previously, a static alignment value of 32 was used for AVX in SIMD implementations. This diff modifies this approach to dynamically determine the correct alignment value via DrJit at compile-time, ensuring compatibility across different SIMD instruction sets.

Detailed changes:

- Add constants for packet sizes and alignment sizes for both DrJit and AVX versions, rather than using magic numbers
- Centralize `checkAlignment()`
- Fix `getJacobianSize()` for both DrJit and AVX versions, correctly utilizing the package size
- Update tests to check around the number of constraints around the package size to ensure the new `getJacobianSize()` works
- Update GitHub CI to test both SIMD-enabled and disabled

NOTE: This Diff the second trial of D47103616

Differential Revision: D63658278
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D63658278

facebook-github-bot pushed a commit that referenced this pull request Oct 1, 2024
Summary:

Previously, a static alignment value of 32 was used for AVX in SIMD implementations. This diff modifies this approach to dynamically determine the correct alignment value via DrJit at compile-time, ensuring compatibility across different SIMD instruction sets.

Detailed changes:

- Add constants for packet sizes and alignment sizes for both DrJit and AVX versions, rather than using magic numbers
- Centralize `checkAlignment()`
- Fix `getJacobianSize()` for both DrJit and AVX versions, correctly utilizing the package size
- Update tests to check around the number of constraints around the package size to ensure the new `getJacobianSize()` works
- Update GitHub CI to test both SIMD-enabled and disabled

NOTE: This Diff the second trial of D47103616

Differential Revision: D63658278
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D63658278

facebook-github-bot pushed a commit that referenced this pull request Oct 1, 2024
Summary:

Previously, a static alignment value of 32 was used for AVX in SIMD implementations. This diff modifies this approach to dynamically determine the correct alignment value via DrJit at compile-time, ensuring compatibility across different SIMD instruction sets.

Detailed changes:

- Add constants for packet sizes and alignment sizes for both DrJit and AVX versions, rather than using magic numbers
- Centralize `checkAlignment()`
- Fix `getJacobianSize()` for both DrJit and AVX versions, correctly utilizing the package size
- Update tests to check around the number of constraints around the package size to ensure the new `getJacobianSize()` works
- Update GitHub CI to test both SIMD-enabled and disabled

NOTE: This Diff the second trial of D47103616

Differential Revision: D63658278
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D63658278

facebook-github-bot pushed a commit that referenced this pull request Oct 1, 2024
Summary:

Previously, a static alignment value of 32 was used for AVX in SIMD implementations. This diff modifies this approach to dynamically determine the correct alignment value via DrJit at compile-time, ensuring compatibility across different SIMD instruction sets.

Detailed changes:

- Add constants for packet sizes and alignment sizes for both DrJit and AVX versions, rather than using magic numbers
- Centralize `checkAlignment()`
- Fix `getJacobianSize()` for both DrJit and AVX versions, correctly utilizing the package size
- Update tests to check around the number of constraints around the package size to ensure the new `getJacobianSize()` works
- Update GitHub CI to test both SIMD-enabled and disabled

NOTE: This Diff the second trial of D47103616

Differential Revision: D63658278
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D63658278

facebook-github-bot pushed a commit that referenced this pull request Oct 1, 2024
Summary:

Previously, a static alignment value of 32 was used for AVX in SIMD implementations. This diff modifies this approach to dynamically determine the correct alignment value via DrJit at compile-time, ensuring compatibility across different SIMD instruction sets.

Detailed changes:

- Add constants for packet sizes and alignment sizes for both DrJit and AVX versions, rather than using magic numbers
- Centralize `checkAlignment()`
- Fix `getJacobianSize()` for both DrJit and AVX versions, correctly utilizing the package size
- Update tests to check around the number of constraints around the package size to ensure the new `getJacobianSize()` works
- Update GitHub CI to test both SIMD-enabled and disabled

NOTE: This Diff the second trial of D47103616

Differential Revision: D63658278
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D63658278

facebook-github-bot pushed a commit that referenced this pull request Oct 1, 2024
Summary:

Previously, a static alignment value of 32 was used for AVX in SIMD implementations. This diff modifies this approach to dynamically determine the correct alignment value via DrJit at compile-time, ensuring compatibility across different SIMD instruction sets.

Detailed changes:

- Add constants for packet sizes and alignment sizes for both DrJit and AVX versions, rather than using magic numbers
- Centralize `checkAlignment()`
- Fix `getJacobianSize()` for both DrJit and AVX versions, correctly utilizing the package size
- Update tests to check around the number of constraints around the package size to ensure the new `getJacobianSize()` works
- Update GitHub CI to test both SIMD-enabled and disabled

NOTE: This Diff the second trial of D47103616

Differential Revision: D63658278
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D63658278

Summary:

Previously, a static alignment value of 32 was used for AVX in SIMD implementations. This diff modifies this approach to dynamically determine the correct alignment value via DrJit at compile-time, ensuring compatibility across different SIMD instruction sets.

Detailed changes:

- Add constants for packet sizes and alignment sizes for both DrJit and AVX versions, rather than using magic numbers
- Centralize `checkAlignment()`
- Fix `getJacobianSize()` for both DrJit and AVX versions, correctly utilizing the package size
- Update tests to check around the number of constraints around the package size to ensure the new `getJacobianSize()` works
- Update GitHub CI to test both SIMD-enabled and disabled

NOTE: This Diff the second trial of D47103616

Differential Revision: D63658278
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D63658278

@facebook-github-bot
Copy link
Contributor

This pull request has been merged in 6d8f901.

@jeongseok-meta jeongseok-meta deleted the export-D63658278 branch October 5, 2024 01:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Meta Open Source bot. fb-exported Merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants